#pragma once
#include <string>
#include "Types.h"

using std::string;


!!entry tables!!
!!travel!!
!!tableName = @name!!
class !!$tableName!!
{
public:
!!entry fields!!
!!travel!!
	//!!@desc!!
	!!@type!!Type !!@name!!;
!!leave!!
!!leave!!

public:
	static !!$tableName!!* Allocate();
	void Free();
	static std::string GetHeadString();
	static std::string CreateDuckdbTableSqlString();
	static std::string CreateSqliteTableSqlString();
	static std::string CreateMysqlTableSqlString();
	
	static std::string TruncateDuckdbSqlString();
	static std::string TruncateSqliteSqlString();
	static std::string TruncateMysqlSqlString();
	int ToCsvString(char* buff) const;
	int ToDebugString(char* buff) const;
	int GetSqlString(char* buff) const;
};

!!leave!!
!!leave!!
